package com.yunxi.service.dubboService.impl.sat;

import com.github.pagehelper.PageInfo;
import com.yunxi.model.sat.SatConfig;
import com.yunxi.sat.pojo.SatConfigVO;
import com.yunxi.sat.service.SatConfigDubboService;
import com.yunxi.service.localService.sat.SatConfigService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import java.util.List;

/**
 * <p>
 * 销售助手配置表 服务实现类
 * </p>
 *
 * @author caoYong
 * @since 2019-07-10
 */
public class SatConfigDubboServiceImpl implements SatConfigDubboService {

    @Autowired
    @Qualifier(value = "satConfigServiceImpl")
    SatConfigService satConfigService;


    @Override
    public SatConfigVO getById(String id) throws Exception {
        SatConfig satConfig = satConfigService.getById(id);
        if(satConfig != null){
            SatConfigVO satConfigVO = new SatConfigVO();
            BeanUtils.copyProperties(satConfig, satConfigVO);
            return satConfigVO;
        }
        else{
            throw new Exception("操作失败,无法根据id:找到对应配置!");
        }
    }

    @Override
    public void saveOrUpdate(SatConfigVO satConfigVO) throws Exception {
        SatConfig satConfig = new SatConfig();
        BeanUtils.copyProperties(satConfigVO, satConfig);
        satConfigService.saveOrUpdate(satConfig);
    }

    @Override
    public void removeById(String id) {
        satConfigService.removeById(id);
    }

    @Override
    public PageInfo<SatConfigVO> findPageByVO(SatConfigVO satConfigVO, Integer pageNum, Integer pageSize) throws Exception {
        PageInfo<SatConfigVO> pageInfo = satConfigService.pageByVo(satConfigVO, pageNum, pageSize);
        return pageInfo;
    }

    @Override
    public void removeByListVo(List<SatConfigVO> satConfigVOList) throws Exception {
        satConfigService.removeByListVo(satConfigVOList);
    }

    @Override
    public List listByVo(SatConfigVO satConfigVO) {
      return satConfigService.listByVo(satConfigVO);
    }
}
